The ZL1BPU Mini-New Exciter (and the bench-top NEXC model from which it is derived) replace a less capable unit designed 18 years ago, for LF/MF use only. (NEXC stands for New EXCiter). This new unit (pictured on the right) is based on the Silicon Labs Si5351 synthesiser chip. It is highly flexible, and will operate from 2.5 kHz to 200MHz. It uses either a TCXO or a special low-power OCXO to stabilise the reference in the synthesiser module. Because the oscillator is external to the module, the stability and phase noise are considerably enhanced.
The unit has three independent outputs (VFOs), 1Hz resolution, can have 2e-8 stability, and has controlled output power levels in four 3 and 6 dB steps.
As well as being capable of front-panel controlled static frequency generation, all three VFOs can be actively controlled via USB serial commands. You can send all available commands to any of the three VFOs in the Exciter. You could also use the Mini-NEXC as the oscillator sources for a receiver or transceiver, HFO, 2LO and BFO, with local or by remote control.
The design is based on two popular items: the Arduino UNO micro-controller, and the Adafruit Si5351 synthesiser module. These devices are multi-sourced, and the combination make construction relatively simple. The power supply is 5 V DC, either powered by a computer or an 18650 single-cell LiPo battery bank, typically used to charge cellular phones. In the Mini-NEXC configuration, the display is a serial type, for minimum wiring.
The bare bones of the working Mini-NEXC: nothing to it!
There are dozens of different VFOs or Signal Generators that use the Silicon Labs Si5351 chip. So this design doesn’t stand out in that respect. It uses an Arduino UNO and an LCD display, but again, that’s nothing new, nor is the availability of three independent outputs.Some years ago, the author designed an Exciter for LF/MF, which proved very useful because of its remote control capabilities – it could be controlled by a computer to generate a range of different modes. This unit is the modern equivalent, but it also covers HF and VHF.
The LF/MF Exciter (2002)
So what makes this Exciter different from others is the ability to remote control it, a feature of the original LF/MF generator, now with extra features. There are commercial generators with similar capability, but few designs you can build yourself. There are three main applications for this unit:Use as a QRSS Multi-tone transmitter (a MEPT) is the main focus of the design. The example below consists of Multi-tone Hell, a small graphic and a CASTLE mode ID, sent to the QRSS3 standard, as received using ARGO.
- You can write a program to operate the Exciter as a signal generator in a series of test applications, perhaps even using it as a sweep generator.
- For the Radio Amateur you can use it as a carrier source with ID for propagation experiments.
- It will provide all the oscillators required by an HF double-conversion receiver or transceiver.
- You can use it as a highly versatile low powered transmitter, perhaps on three frequencies at once, using a range of modulation methods, the most obvious being WSPR, CW and Multi-tone Hell.
![]()
Using a control program, you can change the frequency as rapidly as you can send commands, typically 50 steps per second or more, although this depends on the communication speed and the application. The Exciter uses a USB connection to the computer, and emulates a conventional PC serial communications port. Although the rate can be changed in the code, the default setting is 19200,N,8,1.
The code for this design, ZL1BPU_VFO_V7_serial, was originally written by Con Wassilieff ZL2AFP, \since adapted for serial display and ather monor tweaks by Murray ZL1BPU. A PC program for controlling the unit, NEXC_001.exe has been written by Murray Greenman ZL1BPU.
A 'What You See Is What You Get' program capable of generating nicely rendered scripts such as the one above is also available from Con Wassilieff ZL2AFP:
ZL2AFP WYSIWYG MEPT Controller V1.09
Just save the pattern you create and rename it xxx.scp.
The unit has an LCD display which indicates the operating frequency down to 1 Hz, indicates the VFO that is ‘in focus’, and shows the tuning step Resolution. For each of the three VFOs, three parameters can be changed by three push-button switches, any one of which could be the push-button on the tuning knob. The controls are:
- VFO (Select)
- Changes the VFO (VFO 0, VFO 1 or VFO 2) that is ‘in focus’, i.e. the VFO that the other controls will affect. Button presses change the VFO in focus in order 0, 1, 2, 0, etc. The same applies to the equivalent serial control command, although it can change the VFO in focus directly to the target VFO. (This is the left red button in the above picture).
The VFO control does NOT change the frequency or switch frequencies between VFOs. It simply changes the VFO ‘in focus’ for the display, other controls and serial commands.
At switch-on, the frequencies used are:
These defaults can be changed by editing the Arduino script, recompiling and downloading the changed code.
- VFO 0 10,000,000.00 Hz (10 MHz)
- VFO 1 7,000,000.00 Hz (7 MHz)
- VFO 2 3,560,000.00 Hz (3.56 MHz)
- RES (Resolution)
- Changes the resolution of the frequency control, which is a rotary encoder. (RES does NOT alter the display resolution). The default is 1 Hz steps, and repeated presses of the RES button change the step size to 10 Hz, 100 Hz, 1 kHz, 10 kHz, 100 kHz, 1 MHz, 10 MHz, and finally 1 Hz. (This control is on the TUNE knob in the picture at the top of the page).
The use of finer steps is unnecessary, as the stability of the generator on HF and above will generally be poorer than the smallest step size, and in addition, the Si5351 step size is limited to about 1 Hz, and steps are uneven with smaller step requests.
- BAND (Select preset frequency)
- The third parameter which can be changed with a push-button is the operating frequency of each of the three VFOs. These are stored in a list in the code, which the user can alter as described above, or extend if necessary. The list provided in the code is:
The BAND control changes the VFO in focus to these frequencies in order, one button-press at a time. The operator can then tune about from this new frequency.
- 470,000.00 Hz (470 kHz)
- 1,800,000.00 Hz (1.8 MHz)
- 3,500,000.00 Hz (3.5 MHz)
- 5,000,000.00 Hz (5.0 MHz)
- 7,000,000.00 Hz (7.0 MHz)
- 10,000,000.00 Hz (10.0 MHz)
- 15,000,000.00 Hz (15 MHz)
- 20,000,000.00 Hz (20 MHz)
In the above photograph, the two red buttons are VFO and BAND, while the RES function is operated by pressing the TUNE control knob.
The following commands provide remote operation via the USB port on the Arduino UNO:All commands must be UPPER CASE. Some have numeric qualifiers. The commands can be used from a dumb terminal or a control program such as NEXC_001.exe. Performance is fast enough to follow 50 commands per second or more. Unless changed by the user, the serial commands operate at 19200 bps. Some commands elicit responses from the unit.* These commands affect all three VFOs.
- Ccccccccc Calibration *
- Fffffffff Frequency
- Pp Power level *
- Rr Resolution
- T Transmit
- Vv VFO select
- X VFO Off
Ccccccccc Calibration
Sets a value (which is stored in EEPROM) which corrects for errors in the reference clock. The default value is 0, and the decimal number nnnnnnn can be positive or negative. This correction is recalled at power-up, and applies to all three VFOs.Fffffffff Frequency
Sets the operating frequency in Hz. The value can take two decimal places, and be any value from a few kHz to 200 MHz. The F command operates on the VFO currently in focus.The special case F0 turns the VFO in focus off, and the display will show ‘VFO turned off’. Issuing another valid F command will restore the VFO to operation. Issue the T command to turn the VFO on, on the last used frequency.
Pp Power
Sets the output level for all three VFOs. The default level P3 is +10 dBm into 50 Ohm. The levels are as follows:
- P3 +10 dBm
- P2 +8 dBm
- P1 +4 dBm
- P0 -2 dBm
R Resolution
Sets the resolution for the rotary encoder used to manually set the frequency. It has no effect on the display resolution or frequency setting via the F command. The values for n are 0 to 9, providing these resolutions:i.e. the resolution provided is 10Res/100. The C command operates on the VFO currently in focus, and only affects manual frequency setting. As previously pointed out, operating with resolutions less than 1 Hz is pointless.
- 0.01 Hz
- 0.1 Hz
- 1 Hz
- 10 Hz
- 100 Hz
- 1 kHz
- 10 kHz
- 100 kHz
- 1 MHz
T Transmit
Causes the VFO in focus to turn on at the last used frequency. It has no effect if the VFO is already on. Using T and X alternately can be used to send CW.V VFO
Selects the VFO to be the focus of other commands. The value of n can be 0, 1 or 2.X OFF
Turns the VFO in focus off, but makes no change to the display. This is useful when sending multiple on/off commands one after the other, as it stops the display showing repeated distracting messages. Issuing another valid F command will restore the VFO to operation.In the picture below, VFO0 and VFO1 are operating just 2 Hz apart, on 10 MHz. VFO1 is at a fixed frequency of 10,000.000 kHz, while VFO0 is being remote controlled, using F and X commands to send a slow Morse code ID on 9,999.998 Hz.
![]()
Power Supply
The unit requires 5 V DC at about 50 mA. The actual current will depend on the reference device used. The TCXO is the most economical. The 5 V supply (from a PC USB port or a battery bank) powers the Arduino, which in turn powers the other 5 V operated devices (the display and Si5351 module). The OCXO used in the prototype or a suitable 3.3 V TCXO can be powered by the regulator on the Si5351 module. If a 5 V TCXO is used, it can be powered by the 5 V from the Arduino as it arrives at the Si5351 module.Micro Controller
An Arduino Nano V3 is used, which has an ATmega328 processor. Other clones can be used, but be sure to select a unit which includes a USB port.The connections are as follows:
The sketch for the Arduino is available from the author: zl1bpu@nzart.org.nz.A0 D0 DATA LED (from 5V) A1 RES button (to 0V) D1 A2 VFO button (to 0V) D2 Rotary Encoder A3 BAND button (to 0V) D3 Rotary Encoder A4 SDA (Si5351 and LCD) A5 SCL (Si5351 and LCD)Si5351 Module
Either the Adafruit or Etherkit Si5351 modules can be used. The former is preferred, although both types can be converted to OCXO or TCXO control.The Si5351 connections are:
+5V NANO +5V SCL NANO SCL SDA NANO SDA GND NANO GND CLK0 BNC connector CLK1 BNC connector CLK2 BNC connectorDisplay
The display used in the Mini-NEXC is a back-lit USB 16x2 serial display, the type with a 'piggy-back' controller on it. While these are a little slower, it makes wiring the unit much simpler. Either fit a 'piggy-back' to a standard display, or purchase a serial display with the 'piggy-back' already fitted.It is best to use a fine 4-way ribbon cable for the connections. Don't ground the module anywhere except at the Arduino board. It is best to add a 20 mm toroidal core on this cable (several turns), which will serve to isolate the micro noises from the RF outputs, which should be grounded at the front panel.
The Display connections are:
+5V NANO +5V SCL NANO SCL SDA NANO SDA GND NANO GND
![]()
The display shows the operating frequency of the current VFO on the top line, to full resolution. The second line indicates which VFO is the current device, and the step size employed by the tuning control.
Reference Options
This design will work with a range of references, including:The reference oscillator can be any frequency from 10 MHz up to about 30 MHz, but bear in mind that the lower frequencies will limit the maximum operating frequency of the unit. The original workbench-operated NEXC generator prototype now uses a C-MAC CFPO-5 26 MHz 5 V operated OCXO, and achieves 10 ppb stability. The actual frequency of the TCXO or OCXO does not matter at all, as this can be defined in the .h library file at compile time. Odd-frequency ex-cellular phone TCXOs are widely available.
- The original (very noisy and unstable) crystal on the Si5351 module. (10 - 20 ppm)
- An external XO or TCXO (preferably the latter) with 3.3 V operation and CMOS output. (20 or 1 ppm)
- An external 5 V TCXO, with a couple of attenuator resistors added to the CMOS output. (1 ppm)
- An OCXO with 2 V p-p sine wave output, AC coupled, although it will need to be separately powered. (0.05 ppm or better)
TCXOs or OCXOs of the non-adjustable type, or mechanically adjustable type, can also be used, as any small frequency offset can be trimmed out using a calibration command.
The prototype Mini-NEXC uses an excellent miniature device, the Rakon UK 'Triton' CFPO-20. This is a 20 MHz oven-controlled TCXO, where the TCXO chip has been calibrated to operate in the closer temperature-controlled environment of a simple oven. While not as good as a traditional OCXO, this device has the huge advantage of being 3.3 V powered, and draws so little current it can be powered by the regulator on the Si5351 module, a really neat solution.